home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / net / irda / ircomm_tty_attach.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.2 KB  |  95 lines

  1. /*********************************************************************
  2.  *                
  3.  * Filename:      ircomm_tty_attach.h
  4.  * Version:       
  5.  * Description:   
  6.  * Status:        Experimental.
  7.  * Author:        Dag Brattli <dagb@cs.uit.no>
  8.  * Created at:    Wed Jun  9 15:55:18 1999
  9.  * Modified at:   Fri Dec 10 21:04:55 1999
  10.  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  11.  * 
  12.  *     Copyright (c) 1999 Dag Brattli, All Rights Reserved.
  13.  *     
  14.  *     This program is free software; you can redistribute it and/or 
  15.  *     modify it under the terms of the GNU General Public License as 
  16.  *     published by the Free Software Foundation; either version 2 of 
  17.  *     the License, or (at your option) any later version.
  18.  * 
  19.  *     This program is distributed in the hope that it will be useful,
  20.  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  21.  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22.  *     GNU General Public License for more details.
  23.  * 
  24.  *     You should have received a copy of the GNU General Public License 
  25.  *     along with this program; if not, write to the Free Software 
  26.  *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
  27.  *     MA 02111-1307 USA
  28.  *     
  29.  ********************************************************************/
  30.  
  31. #ifndef IRCOMM_TTY_ATTACH_H
  32. #define IRCOMM_TTY_ATTACH_H
  33.  
  34. #include <net/irda/ircomm_tty.h>
  35.  
  36. typedef enum {
  37.         IRCOMM_TTY_IDLE,
  38.     IRCOMM_TTY_SEARCH,
  39.         IRCOMM_TTY_QUERY_PARAMETERS,
  40.     IRCOMM_TTY_QUERY_LSAP_SEL,
  41.     IRCOMM_TTY_SETUP,
  42.         IRCOMM_TTY_READY,
  43. } IRCOMM_TTY_STATE;
  44.  
  45. /* IrCOMM TTY Events */
  46. typedef enum {
  47.     IRCOMM_TTY_ATTACH_CABLE,
  48.     IRCOMM_TTY_DETACH_CABLE,
  49.     IRCOMM_TTY_DATA_REQUEST,
  50.     IRCOMM_TTY_DATA_INDICATION,
  51.     IRCOMM_TTY_DISCOVERY_REQUEST,
  52.     IRCOMM_TTY_DISCOVERY_INDICATION,
  53.     IRCOMM_TTY_CONNECT_CONFIRM,
  54.     IRCOMM_TTY_CONNECT_INDICATION,
  55.     IRCOMM_TTY_DISCONNECT_REQUEST,
  56.     IRCOMM_TTY_DISCONNECT_INDICATION,
  57.     IRCOMM_TTY_WD_TIMER_EXPIRED,
  58.     IRCOMM_TTY_GOT_PARAMETERS,
  59.     IRCOMM_TTY_GOT_LSAPSEL,
  60. } IRCOMM_TTY_EVENT;
  61.  
  62. /* Used for passing information through the state-machine */
  63. struct ircomm_tty_info {
  64.         __u32     saddr;               /* Source device address */
  65.         __u32     daddr;               /* Destination device address */
  66.         __u8      dlsap_sel;
  67. };
  68.  
  69. extern char *ircomm_state[];
  70. extern char *ircomm_tty_state[];
  71.  
  72. int ircomm_tty_do_event(struct ircomm_tty_cb *self, IRCOMM_TTY_EVENT event,
  73.             struct sk_buff *skb, struct ircomm_tty_info *info);
  74.  
  75.  
  76. int  ircomm_tty_attach_cable(struct ircomm_tty_cb *self);
  77. void ircomm_tty_detach_cable(struct ircomm_tty_cb *self);
  78. void ircomm_tty_connect_confirm(void *instance, void *sap, 
  79.                 struct qos_info *qos, 
  80.                 __u32 max_sdu_size, 
  81.                 __u8 max_header_size, 
  82.                 struct sk_buff *skb);
  83. void ircomm_tty_disconnect_indication(void *instance, void *sap, 
  84.                       LM_REASON reason,
  85.                       struct sk_buff *skb);
  86. void ircomm_tty_connect_indication(void *instance, void *sap, 
  87.                    struct qos_info *qos, 
  88.                    __u32 max_sdu_size,
  89.                    __u8 max_header_size, 
  90.                    struct sk_buff *skb);
  91. int ircomm_tty_send_initial_parameters(struct ircomm_tty_cb *self);
  92. void ircomm_tty_link_established(struct ircomm_tty_cb *self);
  93.  
  94. #endif /* IRCOMM_TTY_ATTACH_H */
  95.